package com.undsf.kanmu.kcsapi.messages.member

import com.fasterxml.jackson.annotation.JsonProperty

/**
 * Created by Arathi on 2017/8/24.
 */
data class Incentive(
        @JsonProperty("api_count")
        var count: Int,
        @JsonProperty("api_item")
        var items: List<Item>
) {
    class Item(
            @JsonProperty("api_mode")
            var mode: Int,
            @JsonProperty("api_type")
            var type: Int,
            @JsonProperty("api_mst_id")
            var id: Int,
            @JsonProperty("api_getmes")
            var message: String
    )
}

data class RequireInfo(
        var basic: Basic,
        var slot_item: List<EquipInfo>,
        var unset_slot: Map<String, List<Int>>,
        var dockyard: List<Dockyard>,
        var use_item: List<ItemInfo>,
        var furniture: List<FurnitureInfo>
) {
    data class Basic(
            @JsonProperty("api_member_id")
            var member_id: Int,
            @JsonProperty("api_firstflag")
            var first_flag: Int
    )

    data class EquipInfo(
            @JsonProperty("api_id")
            var id: Int,
            @JsonProperty("api_slotitem_id")
            var equip_id: Int,
            @JsonProperty("api_locked")
            var locked: Int,
            @JsonProperty("api_level")
            var level: Int
    )

    data class Dockyard(
            @JsonProperty("api_id")
            var id: Int,
            @JsonProperty("api_state")
            var state: Int,
            @JsonProperty("api_created_ship_id")
            var ship_id: Int,
            @JsonProperty("api_complete_time")
            var complete_at: Int,
            @JsonProperty("api_complete_time_str")
            var complete_formatted: String,
            @JsonProperty("api_item1")
            var fuel: Int,
            @JsonProperty("api_item2")
            var bullet: Int,
            @JsonProperty("api_item3")
            var steel: Int,
            @JsonProperty("api_item4")
            var bauxite: Int,
            @JsonProperty("api_item5")
            var material: Int
    )

    data class ItemInfo(
            @JsonProperty("api_id")
            var id: Int,
            @JsonProperty("api_count")
            var count: Int
    )

    data class FurnitureInfo(
            @JsonProperty("api_id")
            var id: Int,
            @JsonProperty("api_furniture_type")
            var type: Int,
            @JsonProperty("api_furniture_no")
            var number: Int,
            @JsonProperty("api_furniture_id")
            var meta_id: Int
    )
}
